perm filename LABEL.PUB[DOC,LMM]1 blob sn#044091 filedate 1973-05-18 generic text, type T, neo UTF8
COMMENT ⊗   VALID 00011 PAGES 
RECORD PAGE   DESCRIPTION
 00001 00001
 00002 00002	.<< TITLE PAGE, INITIAL DECLARATIONS >>
 00004 00003	.HD INTRODUCTION
 00007 00004	.HD PART A: DEFINITIONS
 00016 00005	.HD PERMUTATIONS AND PERMUTATION GROUPS
 00024 00006	.TITL PART B.   SOLUTION TO THE LABELLING PROBLEM
 00034 00007	.HD LABEL RECURSION
 00038 00008	.HD ORBIT RECURSION
 00044 00009	.HD FINAL TECHNIQUE.
 00049 00010	.TITL C. SUMMARY OF LABELLING STEPS
 00052 00011	.titl		REFERENCES
 00053 ENDMK
⊗;
.<< TITLE PAGE, INITIAL DECLARATIONS >>
.DEVICE TTY
.PAGE FRAME 53 HIGH 75 WIDE
.AREA TEXT LINES 4 TO 51 CHARS 1 TO 69
.FOOTSEP←"------------------";
.BEGIN CENTER
LABELLING OBJECTS HAVING SYMMETRY

L. Masinter
N.S. Sridharan

Computer Science Department
Stanford University
Stanford, California

May, 1973
.END
.GROUP SKIP 5
.BEGIN INDENT 6,6,6
ABSTRACT. An algorithm for finding a complete set of non-equivalent
labellings of a symmetric object
and applications of the algorithm
to problems in chemistry are presented.
.END
.<<   PUB MACROS >>
.EVERY FOOTING(,{PAGE},)
.
.MACRO HD (HEADING) ⊂ BEGIN
.IF LINES<10 THEN NEXT PAGE ELSE SKIP 2;
.NOFILL;BREAK;
αHEADINGβ
.END
.ONCE PREFACE 0;⊃
.
.MACRO TITL (TITLE) ⊂ BEGIN
.SKIP 2; NOFILL; BREAK;CENTER;
αTITLEβ
.END;⊃
.
.MACRO GRAF (HDNG) ⊂ 
αHDNGβ
.⊃
.
.MACRO I6 ⊂ INDENT 6,6,6; SPREAD←1; PREFACE 1; ⊃
.
.MACRO SPACE1 ⊂ SPREAD←1; PREFACE 2; BREAK; ⊃
.
.MACRO SPACE2 ⊂ SPREAD←2; PREFACE 3; BREAK; ⊃
.
.MACRO TABLE (N,TITLE) ⊂ NOFILL;GROUP;SINGLE SPACE;
.BEGIN FILL;PREFACE 0; SKIP 1;
--------------------------------------------------------------------
Table N. TITLE
.END;⊃
.
.TURNON "↑↓[]&→"
.SKIP TO COLUMN 1
.SPACE2;
.HD INTRODUCTION
The class of combinatorial problem dealing with finding a complete
set of non-isomorphic objects under varying constraints and concepts
of isomorphism, have wide applications in a variety of fields. The
problem attacked in this paper is one of finding all distinct ways to assign a
given number of labels
or colors to the parts of a symmetric object when it is also known
how many parts get each of the labels or colors.
In chemistry, one manefestation of this problem is to make all assignments
of ligands (from a fixed set) to a given carbocyclic skeleton.  Part A
of this paper may be read as a brief tutorial on the nature of the problem
and an introduction to the terminology found in more technical treatments.
Part B describes a method for the solution of this type of problem;
a formal description and proof of correctness is available elsewhere.
Part C gives examples and applications of this algorithm in both
organic and inorganic chemistry.

This problem is encountered in a wide range of applications beyond
chemistry-- within many areas of graph theory and combinatorics, for
example.  It has been known how to compute the number of solutions
[1], but an efficent method of actually constructing
the solutions has not previously been reported.

The discussion in this
paper is restricted to the labelling of graphs with the "topological"
symmetry groups; the algorithm, however, is immediatly applicable to
other types of labellings; one could, for example, generate all distinct
"permutational isomers" for a given three dimensional ring system
as defined in Ruch [2].

.HD PART A: DEFINITIONS
.hd SYMMETRY AND ITS RELATIONSHIP TO LABELLING
Consider the special case of the general problem:  suppose all
of the labels are distinct.  This means that, for example,one wishes to
number the faces of a cube with the numbers {1,2,3,4,5,6}, or the
"nodes" (atom positions in a graph) of the decalin skeleton with numbers
{1,2,3,4,5,6,7,8,9,10}.   There are n! (n factorial) ways of labelling
where n is the number of parts.  If the object has no symmetry
then each of these n! ways are distinct from the rest. However
for the decalin skeleton (where n! = 10! =
3,628,800 ways) there is some symmetry.  Pick one
of the numberings as a point of
reference (Fig 2a).  Some of the 10! ways are different (Fig 2b); some
of them are essentially the same (Fig 2c).
.BEGIN NOFILL GROUP
------------------------------------------------------------
			Figure 1
		    The Decalin Skeleton

			 ⊗     ⊗
			/ \   / \
		       /   \ /   \
		      ⊗     ⊗     ⊗
		      |     |     |
		      |     |     |
		      ⊗     ⊗     ⊗
		       \   / \   /
			\ /   \ /
			 ⊗     ⊗
------------------------------------------------------------
.END  
.BEGIN NOFILL GROUP
------------------------------------------------------------
			Figure 2
		Three of the 10! numberings of 
                   the Decalin Skeleton.

         2     4             7     1             4     2
	/ \   / \           / \   / \           / \   / \ 
       /   \ /   \         /   \ /   \         /   \ /   \
      1     3     5       2     8     9       5     3     1
      |     |     |       |     |     |       |     |     |
      |     |     |       |     |     |       |     |     |
      10    8     6       3     4     5       6     8     10
       \   / \   /         \   / \   /         \   / \   /
	\ /   \ /           \ /   \ /           \ /   \ /
         9     7             6     10            7     9

          (2a)                (2b)                 (2c)
------------------------------------------------------------
.END
Intuitively, Figs 2a and 2c are equivalent because one could
take 2a, flip it over and get 2c.  There is another way of determining
the "sameness" of such numberings which is easier in the more complicated
cases and is in general more suited to computer application:

Write down the respective "connection tables". (See Table I).  Note
that the connection table for Fig 2c is identical to that of Fig 2a;
that of Fig 2b is different.
.BEGIN VERBATIM GROUP
------------------------------------------------------------
                   Table I.

 Structure (2a)   Structure (2b)  Structure (2c)

node|connected | node|connected | node|connected
    |   to     |     |   to     |     |  to
	       |	        |
  1    2,10    |  1    8,9      |  1    2,10
  2    1,3     |  2    7,3      |  2    1,3
  3    2,4,8   |  3    2,6      |  3    2,4,8
  4    3,5     |  4    6,8,10   |  4    3,5
  5    4,6     |  5    9,10     |  5    4,6
  6    5,7     |  6    3,4      |  6    5,7
  7    6,8     |  7    2,8      |  7    6,8
  8    3,7,9   |  8    1,4,7    |  8    3,7,9
  9    8,10    |  9    1,5      |  9    8,10
  10   1,9     |  10   4,5      |  10   1,9

------------------------------------------------------------
.END
.BEGIN I6
DEFINITION:   two numberings of the nodes of a graph are λequivalentβ
if the connection tables with the respective numberings are identical when
the node numbers are written in ascending order and each "connected to" list
is in ascending order.
.END
This means, among other things, that properties such as valency
are preserved:  If two numberings are equivalent and in the first, node
1 is trivalent then in the second, node 1 is trivalent. If there are
other properties of the nodes (already colored or labelled, for example),
then this definition can be extened to include the preserving of those
properties.

For example, suppose there are atom names associated with (some of)
the nodes of the graph.  Then one can define equivalent numberings
to be those which not only have identical connection tables, but also
the same atom names
for the corresponding nodes.  Then Fig 3a would still be equivalent
to Fig 3c but no longer to Fig 3b since, although the connection tables
of 3a and 3b are identical, node 1 in Fig 3a is labelled with an "N" while
while in 3b it unlabelled.

.BEGIN NOFILL GROUP
----------------------------------------------------------
			Figure 3.
		Partially labelled graphs reduce
		    the equivalencies.

 	 2     4             9     7             4     2
	/ \   / \           / \   / \           / \   / \ 
       /   \ /   \         /   \ /   \         /   \ /   \
     N1     3     5N     N10    8     6N     N      3     1N
      |     |     |       |     |     |       |     |     |
      |     |     |       |     |     |       |     |     |
      10    8     6       1     3     5       6     8     10
       \   / \   /         \   / \   /         \   / \   /
	\ /   \ /           \ /   \ /           \ /   \ /
	 9     7             2     4             7     9

	  (3a)                 (3b)                (3c)

----------------------------------------------------------
.END
.HD PERMUTATIONS AND PERMUTATION GROUPS
Given one numbering, one can use a condensed notation
to write down other numberings in terms of the first.
In the 2b case (Table II), the row of numbers means that, in
sequence, the node
numbered 1 in the reference numbering 2a is now numbered 2, the node originally
numbered 2 is now numbered 10, and so on.  All of these are written down with
respect to the original "reference" numbering of figure 2a.
.BEGIN NOFILL GROUP
-------------------------------------------------------------
                    Table II
        Condensed Notation for Numberings

    Figure 2a numbers:  1  2  3  4  5  6  7  8  9 10
    Figure 2b numbers:  2 10  3  7  4  6  5  8  1  9
    Figure 2c numbers:  5  4  3  2  1 10  9  8  7  6

-------------------------------------------------------------
.END
One can conceptualize a numbering as a transformation or as a function:
The transformation for 2c is π↓2↓c(1)=5, π↓2↓c(2)=4, π↓2↓c(3)=3, ...
π↓2↓c(10)=6.  These transformations are λpermutationsβ: one to one mappings from
the integers {1,2,...,n} to themselves.  The transformation for
the "reference" numbering is the identity  i(x)=x. It  can be shown that
whatever the graph, the set of transformations satisfying the "equivalency"
requirement above satisfies the property of a group.  One may then say:
.BEGIN I6
The λsymmetryβ λgroupβ of a graph is the set of all transformations which
yield identical connection tables.  (If there are other properties
to be considered, one may include them as part of the connection table).
For the decalin skeleton there are 4 permutations in the group.
.END
.BEGIN NOFILL GROUP
--------------------------------------------------------------------                   Table III
                The Symmetry Group
              of the Decalin Skeleton


       π↓i     1  2  3  4  5  6  7  8  9 10
       π↓v     5  4  3  2  1 10  9  8  7  6
       π↓h    10  9  8  7  6  5  4  3  2  1
       π↓[180]   6  7  8  9 10  1  2  3  4  5
-------------------------------------------------------------------
.END
These correspond directly to the intuitive geometric symmetries
π↓i=identity, π↓h=reflection about horizontal axis, π↓v=reflection
about vertical axis, π↓[180] = rotation 180 degrees.
It is not too difficult for a computer program to figure out the symmetry
group of a graph given its connection table.

In many cases, one might wish to label the "edges" (interconnecting
lines) of a graph.  In this case, the symmetry group on the edges
rather than on the nodes is required.   It is very easy to calculate
this group.  First find the group on the nodes. Then, for each edge
in the graph, write down the nodes that form the end-points.   Then
the corresponding permutations can be obtained as follows:
.BEGIN NOFILL
            π↓i{n↓1,n↓2}={π↓i(n↓1),π↓i(n↓2)}
.END
This is most easily shown by way of an example. (Table IV).
.BEGIN NOFILL GROUP
------------------------------------------------------------------
                         Table IV
	   Group of Decalin Skeleton acting on the edges

 π↓i     1-2   2-3  3-8  3-4  4-5  5-6  6-7  7-8  8-9  9-10 1-10
 π↓v     4-5   3-4  3-8  2-3  1-2  1-10 9-10 8-9  7-8  6-7  5-6
 π↓h     9-10  8-9  3-8  7-8  6-7  5-6  4-5  3-4  2-3  1-2  1-10
 π↓[180]   6-7   7-8  3-8  8-9  9-10 1-10 1-2  2-3  3-4  4-5  5-6
------------------------------------------------------------------
.END
Finding the group of an object is a special kind of labelling problem.
Given one way of numbering (labelling with distinct labels) the parts
of the object, one finds all other ways which are equivalent.  The labelling
problem attacked in this paper is the converse:  to find a maximal
list of labellings, none of which are equivalent to each other.  In
general the set of all posssible labellings can be split into subsets,
such that:
.BEGIN I6
1) If two labellings are in different subsets, they are not equivalent.

2)  If two labellings are in the same subset, they are equivalent.
.END
These subsets are called λequivalenceβ λclasses.β

The relationship of finding the group, and of finding labellings
where all the labels are distinct, can be viewed as follows:
Take the n! possible labellings and lay them out in a matrix: each
row will contain one equivalence class. (It can be shown that in this
special cases where the labels are distinct, all of the equivalence classes
are of the same size).   To find the group, one needs to find a row.
To find the labellings, one needs to pick one element from each row.

.BEGIN NOFILL GROUP
-------------------------------------------------------------
		Figure 4
	   Equivalence classes, Groups, and Labellings
.GROUP SKIP 20
-------------------------------------------------------------
.END  
.TITL PART B.   SOLUTION TO THE LABELLING PROBLEM
.HD A Naive Method
An obvious method to find the distinct labellings would be to
generate all n! of the possible ones, and for each one to check if
an equivalent one was previously generated. Unfortunately, this method
takes an exhorbitant amount of computation (proportional to n! squared).
Below a method is discussed which takes an amount of time roughly
proportional to the number of solutions (i.e. the number of
equivalence classes of labellings) and requires only knowledge of
the symmetry group. Thus it is useful for labelling objects using
their geometric symmetry as well as the topological symmetry defined
above.
.HD A Better Method
.GRAF Special case: distinguish 1 node.
First consider the special case where there are only two types
of labels
such that there is one label of the first type and all the rest of the second.
(E.g., color one red, and the rest green, or label one N and the rest C.)
Intuitively, for the decalin skeleton, one can see that there
are three classes of symmetric nodes, or orbits, marked with "⊗",
"+" and "&" in Fig.
5, and that each distinct labelling corresponds to selecting one node
from each type.  (see Fig 6.)
.BEGIN NOFILL GROUP
-------------------------------------------------------------
                      Figure 5
	     Orbits in the Decalin Skeleton

			⊗     ⊗
		       / \   / \
		      /   \ /   \
		     +     &     +
		     |     |     |
		     |     |     |
		     +     &     +
		      \   / \   /
		       \ /   \ /
			⊗     ⊗

-------------------------------------------------------------
.END
.BEGIN NOFILL GROUP
-------------------------------------------------------------
                           Figure 6
                Three Labellings of Decalin with 
                        1 N and 9 C's.

	⊗     ⊗             N     ⊗             ⊗     ⊗
       / \   / \           / \   / \           / \   / \ 
      /   \ /   \         /   \ /   \         /   \ /   \
     N     ⊗     ⊗       ⊗     ⊗     ⊗       ⊗     N     ⊗
     |     |     |       |     |     |       |     |     |
     |     |     |       |     |     |       |     |     |
     ⊗     ⊗     ⊗       ⊗     ⊗     ⊗       ⊗     ⊗     ⊗
      \   / \   /         \   / \   /         \   / \   /
       \ /   \ /           \ /   \ /           \ /   \ /
	⊗     ⊗             ⊗     ⊗             ⊗     ⊗

-------------------------------------------------------------
.END
Thus there are three distinct labellings (the ten possible labellings
split into three equivalalence classes).

.GRAF Computing orbits
In general, the parts of an object with symmetry split into different
orbits (sometimes there is only one type, as in the faces of a cube, or
the nodes of the cyclohexane skeleton).  To label the
parts of an object such that one is distinguished, it is necessary only
to find the orbits and then, for each type, pick one of the parts in
that type arbitrarily.  Note that if the object has no symmetry each
type has exactly one part in it.

It is very simple to find the different types from the
table of the symmetry group:  if one writes out the group, as in Table III,
with each permutation as a row, then the numbers in each column, taken as
a set, form an orbit.
The orbits of the group in Table III are: {1,5,6,10}, {2,4,7,9}, {3,8}.

After finding the set of orbits, one then can do the special
labelling described above (distinguishing only one node):
the number of distinct labellings is the number of orbits.
Each corresponds to selecting an element from an corresponding orbit
and labelling it. For reasons to be explained later, the first element
of each orbit should be chosen (i.e. the one with the smallest number
in the reference numbering).

One might note here that if one has n-1 labels and 1 "blank" it is the
same as 1 label and n-1 "blanks".  This special case can be applied
here as well.
.GRAF The reduced symmetry group.
Once a group has been calculated for a structure, many times one wants to
know what the group is after some labels have been attached.  The group
of a labelled structure is always a λsubsetβ of the group of the unlabelled
structure.  Thus one needs to know which permutations in the group must
be thrown out. To do this, write the "labels" associated with each node
next to the node number in the permutation table as in Table II.  If in
any column, there is an element which has a different label than the label
in the "reference" numbering (identity permutation), then that row can
be discarded.  That is, every permutation in the reduced symmetry group
must satisfy:
.BEGIN NOFILL

	for every node i,  label(π(i))=label(i).
.END
Exactly those permutations in the original group that satisfy this equation
are the ones in the reduced symmetry group of the labelled structure.
.GRAF Reduction techniques
In the general labelling problem, there are two important techniques used to
reduce the problem.  The first is called LABEL RECURSION↑* and the second
ORBIT RECURSION.  The idea behind LABEL RECURSION is that one can do
one label at a time.  The idea behind ORBIT RECURSION is that one can label
one orbit at a time.  These reductions are discussed in detail
below.
.SEND FOOT ⊂
------------------------
.BREAK
* A λrecursiveβ technique is one which is defined in terms of itself.  For
example, n! can be defined by:
.begin nofill

	       {  1         if n=1
	 n! =  {
               {  n*(n-1)!  otherwise
.END
.CONTINUE
The computation of 10! involves computing another factorial.  It is necessary
that at each step, the problem is reduced.  Here the general solution of
the labelling
problem is described in terms of less complicated labellings.
Several special
cases (analogous to the n=1 case in the definition of factorial) are
also defined.
.⊃;
.HD LABEL RECURSION
If one is given many (more than 2) kinds of labels, say n↓1 of
type 1, n↓2 of type 2, ... n↓k of type k, proceed as follows:
(1) solve the labelling problem for n↓1 of one type of label 
and n↓2+n↓3+...+n↓k of another type. (Call the second type of label
"blank").   The result will be a list of partially labelled
objects (along with their reduced symmetry groups).  Take each
of the results and label the "blank" parts with n↓2 labels of
one kind, n↓3 of another, ... ,n↓k of another.  It can be proved
that the results will be a list of all distinct solutions to the
original problem.  For example, to label the decalin skeleton with
1 label "N", 1 label "S" and 8 labels "C", one first labels with
1 "N" and 9 "blanks" obtaining the 3 results in figure 7a.
(Fig 7a1,7a2,7a3).   There are now 3 new problems to label
The "blanks" if Figs 7a1-3 (under their respective reduced symmetry),
with 1 "S" and 8 "C"'s.   In Figs 7a1 and 7a2, there is no symmetry
left, and so each of the "blanks" has its own orbit, thus
there are 9 distinct labellings apiece.  In Fig. 7a3, there
are 5 orbits under the reduced symmetry, and thus there are 5
additional possiblities. (Fig 7b).

.BEGIN NOFILL GROUP
-------------------------------------------------------------
                     Figure 7
	  Labellings with 1 N, 1 S, and 8 C's.
				A	B	C

       ⊗   ⊗		       ⊗   ⊗		
      / \ / \		      / \ / \		
     N   ⊗   ⊗		     N   ⊗   ⊗		
7a1  |   |   |		7a1a |   |   |		
     ⊗   ⊗   ⊗		     ⊗   ⊗   ⊗		
      \ / \ /		      \ / \ /		
       ⊗   ⊗		       ⊗   ⊗		

       N   ⊗		       N   ⊗		
      / \ / \		      / \ / \		
     ⊗   ⊗   ⊗		     ⊗   ⊗   ⊗		
7a2  |   |   |		7a2  |   |   |		this diagram
     ⊗   ⊗   ⊗		     ⊗   ⊗   ⊗		is not complete
      \ / \ /		      \ / \ /		
       ⊗   ⊗		       ⊗   ⊗		
		
       ⊗   ⊗		       ⊗   ⊗		
      / \ / \		      / \ / \		
     ⊗   N   ⊗		     ⊗   N   ⊗		
7a3  |   |   |		7a3  |   |   |		
     ⊗   ⊗   ⊗		     ⊗   ⊗   ⊗		
      \ / \ /		      \ / \ /		
       ⊗   ⊗		       ⊗   ⊗		
-------------------------------------------------------------
.END
.HD ORBIT RECURSION
There are 3 cases in the 1 N, 9 C on the decalin skeleton problem.
.BEGIN NOFILL
     (case 1) 1 N goes to orbit {1,5,6,10}.
     (case 2) 1 N goes to orbit {2,4,7,9},
     (case 3) 1 N goes to orbit {3,8}.
.END
There is only one possibility in each of these cases.
Suppose there were 3 N's. Then there would be 9 cases. (Table IV).
.BEGIN VERBATIM GROUP
------------------------------------------------------------
                         Table IV.
                (3 N's on a decalin)

                            # N's going to
case        orbit                 orbit             orbit 
number	 {1,5,6,10}		{2,4,7,9}	    {3,8}

 1           3                     -                  - 
 2           2                     1                  - 
 3           2                     -                  1
 4           1                     2                  - 
 5           1                     1                  1
 6           1                     -                  2
 7           -                     3                  - 
 8           -                     2                  1
 9           -                     1                  2

------------------------------------------------------------
.END
In some of these cases there are more than one possibility (cases
2,3,4,5 and 8).  However, every labelling fits into one of
these cases, and labellings from different cases cannot be equivalent.

Thus, each of these cases can be done independantly, and the results
collected together. To do any one of the cases, the labellings of the
orbits can be done sequentially.

Take case 5.  First label one of {1,5,6,10} with one N, (and the
rest "blanks").  Since {1,5,6,10} is an orbit, we can chose one
arbitrarily and get Fig 8. (The first one is chosen).
.BEGIN NOFILL GROUP
------------------------------------------------------------
                        Figure 8
                 1 N to orbit {1,5,6,10}

			 ⊗     ⊗
			/ \   / \
		       /   \ /   \
  		      N     ⊗     ⊗
		      |     |     |
		      |     |     |
		      ⊗     ⊗     ⊗
		       \   / \   /
			\ /   \ /
			 ⊗     ⊗

------------------------------------------------------------
.END
Second, label {2,4,7,9} with 1 N (and 3 blanks).  Note that {2,4,7,9} is no
longer an orbit under the reduced group.  Stick to the original plan-- it is
just necessary to find λnewβ orbits under the reduced group to label {2,4,7,9}.
Since there is no symmetry left, each of {2,4,7,9} falls into its own orbit.
The "special case" can be used directly to find the 4 solutions (Fig 9).
.BEGIN NOFILL GROUP
------------------------------------------------------------
		   Figure 9
	      Second step of case 5

       N   ⊗		       ⊗   N
      / \ / \		      / \ / \
     N   ⊗   ⊗		     N   ⊗   ⊗
9a   |   |   |		9b   |   |   |
     ⊗   ⊗   ⊗		     ⊗   ⊗   ⊗
      \ / \ /		      \ / \ /
       ⊗   ⊗		       ⊗   ⊗


       ⊗   ⊗		       ⊗   ⊗
      / \ / \		      / \ / \
     N   ⊗   ⊗		     N   ⊗   ⊗
9c   |   |   |		9d   |   |   |
     ⊗   ⊗   ⊗		     ⊗   ⊗   ⊗
      \ / \ /		      \ / \ /
       ⊗   N		       N   ⊗

------------------------------------------------------------
.END
Then, for each of these solutions, {3,8} must be labelled with 1 N
(and 1 blank).   The final result is 8 possibilities for case 5, none
of which have any remaining symmetry.
.HD FINAL TECHNIQUE.
Now the only problem to be solved is this: suppose there
are two types of labels, n↓1 of the first, and n↓2 of the second,
neither n↓1 or n↓2 are 1, and there is only one orbit. No more
simple reductions left.
The solution, however, is another trick.  Pick the first node and label
it, calculating the reduced symmetry group and new orbits.
Label the rest of the nodes (under the reduced group) with n↓1-1
labels of type 1 and n↓2 labels of type 2.  The result will
contain a representative of each equivalence class of labellings;
however, if n↓1>2 then there may be some duplicates (i.e., two
of the results may actually be equivalent).

For example, the cyclohexane skeleton has a group of order twelve
(has twelve permutations), and there is only one orbit.  To label
it with three N's, one labels node 1 with a N, calculates the
reduced group and new orbits; then finds the various cases for
distributing the remaining two N's among those orbits. (Table V.)
Then for each case, do each orbit sequentially.  Cases 1, 3, 4
and 5 are fairly straightforward;   in case 2, first label {1,2}
with 1 N.  (Figure 9).  Now the group reduces even further, and
one gets the two results depicted in Figure 9b.
Note that cases 1 and 2a are equivalent as well as 2b, 3, and
5.   What to do?   Fortunately, there is a good way of throwing
out the impostors without having to check each of the results
against each of the others for equivalency.
If there is a permutation π in the group, such that
π(labelled set) > labelled set
then the labelled set
is an impostor-- throw it out. Furthermore, every
impostor is detected this way.  All that is necessary is
that when doing these "lower level" labellings, that one is
careful to pick the "first" element of each orbit to label
and the "first orbit" when there are a choice of orbits.
.BEGIN GROUP NOFILL
------------------------------------------------------------
		Table V
	   cases for 2 N's on
	   {2,3,4,5,6} of cyclo-
		hexane

       case    {2,6}  {3,5}    {4}

	1	2	-	-
	2	1	1	-
	3	1	-	1
	4	-	2	-
	5	-	1	1
------------------------------------------------------------
.END
Fortunately, this technique is rarely necessary -- usually
in the course of a computation, the "special cases" catch
almost everything.  For example, to label the decalin
skeleton, it is never needed since even when one is labelling
say orbit {2,4,7,9}, there is either 1, 2, n-1 or n-2 labels
to be attached.  For the cyclohexane skeleton, it is only
needed if there are 3 of one label and 3 of another (if there
were 3,2 and 1 of three respective label types, just do the singleton
first -- the group will then reduce and again this "FINAL
TECHNIQUE" will not be necessary.   Only in cases where
there is at least 6 fold symmetry (i.e., every orbit has
at least 6 elements) and there are at least 3 of each of
the label types is this technique required.

.TITL C. SUMMARY OF LABELLING STEPS
.begin nofill
1) Calculate the group if not previously calculated

2) if more than 2 different node types, do the entire labelling
   process with 1 of the label types, and the rest "blanks"; then
   for each of the solutions obtained, label the "blanks" with
   the remaining label types using the reduced symmetry group.
   and collect the results.

3) otherwise,
   a)  find the orbits

   b)  if more than one orbit, then
	1) find the different "cases" -- ways of distributing
	   the labels among the orbits
	2) for each case,
	    a)  label the first orbit
	    b)  label the rest of the orbits using the reduced
		symmetry group obtained from a).
		and collect the results
   c)  otherwise (only 1 orbit and 2 label types)
	1) if there is only one of one of the label types,
	   pick the "first" node and label it with that
	   label type.   This is the only distinct possibility.
	2) otherwise, if there are two of one of the label
	   types, label the first node with that label type,
	   calculate the reduced symmetry group and new orbits,
	   and from each of the new orbits, pick the "first"
	   node.  The solutions consist of those possibilities
	   (one for each new orbit).
	3) otherwise, (3 or more of each label type, and one orbit)
	   label the "first" node, calculate the reduced symmetry
	   group, label the rest of the nodes under the reduced
	   group, and for each of the results, check if for every
	   permutation π in the original group that
		π(labelled set)≥labelled set
	   If this is not true of a labelled set, discard it
	   as a solution.   The result is every such labelling
	   that satisfies this property.
.end
.next page
.titl		REFERENCES
.nofill
[1] De Bruijn, N. G., Generalization of Polya's Fundamental theorem
in Enumerative Combinatorial Analysis, Nedarl. Akad. Wentensh. Proc.
Ser. A, 62 (1959), 59-69; also Polya's Theory of Counting, in
Applied Combinatorial Mathematics, E. Beckenbach, ed, Wiley, New
York, 1964, pp 144-184.

[2] I. Ugi

[3] Previous DENDRAL papers

[4] Perlman?